Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for virtIO block #28

Merged
merged 23 commits into from
May 6, 2024
Merged

Support for virtIO block #28

merged 23 commits into from
May 6, 2024

Conversation

erichchan999
Copy link
Contributor

@erichchan999 erichchan999 commented Nov 27, 2023

Changed:

  • Generalised virtio device struct

Notes:

  • Need to implement timeout for commands that had their responses dropped on the other end.

@erichchan999 erichchan999 marked this pull request as draft November 27, 2023 04:28
@Ivan-Velickovic Ivan-Velickovic mentioned this pull request Dec 2, 2023
@erichchan999 erichchan999 force-pushed the virtio_blk branch 2 times, most recently from da627c3 to c2d6844 Compare January 19, 2024 04:36
@erichchan999 erichchan999 force-pushed the virtio_blk branch 5 times, most recently from 8ac0e24 to e9888be Compare February 9, 2024 06:06
@erichchan999 erichchan999 marked this pull request as ready for review February 9, 2024 06:08
@Ivan-Velickovic
Copy link
Collaborator

I might be wrong but I believe I diffed both client VMMs and saw there was no difference, if there is no difference or minimal difference we should not have two versions of the source code.

.gitmodules Outdated Show resolved Hide resolved
src/virtio/block.c Outdated Show resolved Hide resolved
src/util/util.c Outdated Show resolved Hide resolved
src/virtio/block.c Outdated Show resolved Hide resolved
src/virtio/block.c Outdated Show resolved Hide resolved
src/virtio/block.c Outdated Show resolved Hide resolved
@erichchan999 erichchan999 force-pushed the virtio_blk branch 2 times, most recently from 91e124a to 3e07747 Compare April 26, 2024 04:13
@Ivan-Velickovic
Copy link
Collaborator

In the README we should document that two clients are exactly the same but we have separate sets of Linux images/initrd to ease experimentation when you want to just mess with a single client.

@Ivan-Velickovic
Copy link
Collaborator

The driver VMM has code to conditionally give pass-through access to the serial for debugging purposes, should we just give the driver VM access to virtIO console all of the time?

src/virtio/block.c Outdated Show resolved Hide resolved
@Ivan-Velickovic
Copy link
Collaborator

If you can try to remove any @ericc in the code. This was bad practice from my end where I chucked too many @ivanv and never went back to them (although I plan to eventually get rid of all of them).

Any non-trivial @ericc TODOs should be placed in a GitHub issue relating to future work for virtIO block or the UIO library.

@Ivan-Velickovic
Copy link
Collaborator

Due to wanting to get this merged, what we'll do is, just for the virtIO example, regress macOS support until we figure out the replacement for mkfs.fat32 etc. I'll commit that now to get CI passing.

@Ivan-Velickovic Ivan-Velickovic force-pushed the virtio_blk branch 2 times, most recently from 96ab578 to 8208437 Compare May 3, 2024 04:43
@erichchan999 erichchan999 mentioned this pull request May 3, 2024
11 tasks
erichchan999 and others added 9 commits May 3, 2024 16:48
Signed-off-by: Eric Chan <[email protected]>
In order to merge the virtIO block PR, we will sort out
getting it working on macOS later.

Signed-off-by: Ivan Velickovic <[email protected]>
Needed for virtIO example since it cross-compiles for Linux
user-space.

Signed-off-by: Ivan Velickovic <[email protected]>
Signed-off-by: Eric Chan <[email protected]>
Signed-off-by: Eric Chan <[email protected]>
@Ivan-Velickovic Ivan-Velickovic merged commit c297f5f into main May 6, 2024
5 checks passed
@Ivan-Velickovic Ivan-Velickovic deleted the virtio_blk branch May 6, 2024 04:48
@Ivan-Velickovic
Copy link
Collaborator

Yay!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants